SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TMDOCU_CLIE_Q01]
/*-------------------------------------------------------*/
/*---Empresa              : OFISIS S.A.                --*/
/*---Cliente              : OFISIS                 --*/
/*---Sistema              : Tesoreria                  --*/
/*---M÷dulo               : Empresa                    --*/
/*---Programa             : Cobros Pendientes  --*/
/*---Script               : tmdocu_clie_q1.sql         --*/
/*---Nombre SP            : SP_TMDOCU_CLIE_Q01         --*/
/*---Desarrollado por     : Eduardo Vivar Pomiano      --*/
/*---Fecha Creaci÷n       : 07/02/2000                 --*/
/*---Base Datos           : Microsoft Sql Server       --*/
/*---Versi÷n              : 7.0                        --*/
/*---Invoca a SP          :                            --*/
/*-------------------------------------------------------*/
/*---Modificado 1 por     :EDUARDO VIVAR POMIANO       --*/
/*---Fecha Modificaci÷n   :03/07/2000                  --*/ 
/*---Detalle Modificaci÷n :Agregue Filtro por T. Oper. --*/
/*-------------------------------------------------------*/
/*---Drop Proc SP_TMDOCU_CLIE_Q01                      --*/
/*---Grant all on SP_TMDOCU_CLIE_Q01 to public         --*/ 
/*---SP_TMDOCU_CLIE_Q01 '99', '45875425',"'FAC'",NULL,'01/01/2001','01/09/2001', '01/09/2001', '1','N','1' , NULL  --*/
/*-------------------------------------------------------*/
 @ISCO_EMPR      TD_VC_002,  
 @ISCO_CLIE      TD_VC_020,
 -- PARA LA SELECCION DE TIPOS DE DOC.
 @ISDE_CODI      VARCHAR(500),
 @ISCO_MONE      TD_VC_003, 
 @IDFE_VENC_0001 TD_DT_001,
 @IDFE_VENC_0002 TD_DT_001,
 @IDFE_CANC	 TD_DT_001,
 @ISSE_ORDE      TD_VC_001,
 -- PARA EL CALCULO DE LA ANTIGUEDAD
 @ISFE_SIST      TD_VC_001,
 -- PARA LA SELECCION DE DOCUMENTOS( CON ADELANTOS, SIN ADELANTOS, TODOS)
 @ISSE_DOCU 	 TD_VC_001,
 @ISCO_TIPO_OPER TD_VC_003
	As
CREATE TABLE #TWREPO_CLIE 
 ( CO_EMPR      VARCHAR (02) NULL,
   FE_EMIS      DATETIME NULL, 
   FE_VENC      DATETIME NULL ,
   CO_TIPO_DOCU VARCHAR (03) NULL, 
   NU_DOCU_CLIE VARCHAR (15) NULL,
   CO_TIPO_OPER VARCHAR (03) NULL, 
   CO_CLIE      VARCHAR (20) NULL, 
   NO_CORT_CLIE VARCHAR (050) NULL ,
   DE_OBSE      VARCHAR (100) NULL,    
   CO_MONE      VARCHAR (003) NULL, 
   NU_ANTI      INT NULL,
   IM_DETA      Numeric(16,4) NULL )

DECLARE  @CSCO_EMPR       TD_VC_002,  
         @CDFE_EMIS       TD_DT_001, 
         @CDFE_VENC       TD_DT_001, 
         @CSCO_TIPO_DOCU  TD_VC_003, 
         @CNIM_TOTA       TD_NU_016_004,
         @CSNU_DOCU_CLIE  TD_VC_020, 
         @CSCO_CLIE       TD_VC_020, 
         @CSDE_OBSE       TD_VC_100, 
         @CSCO_MONE       TD_VC_003,
         @VNNU_ANTI       TD_IN_001,
         @VSNO_CORT_CLIE  TD_VC_050, 
         @CSNU_LETR_CLIE  TD_VC_020, 
         @VNIM_DETA       TD_NU_016_004,
	 @VNIM_AUXI       TD_NU_016_004,
         @VNIM_PAGA       TD_NU_016_004,
 	 @VNFE_0001       TD_IN_001, 
         @VNFE_0002       TD_IN_001,
         @VSCA_EMPR       TD_VC_100,
	 @VSCA_ARRE	  TD_VC_100 ,
         @VSCA_CLIE       TD_VC_100,
         @VSCA_TIDO       VARCHAR(300),
         @VSCA_MONE       TD_VC_100,
	 @VSCA_TIPO_OPER  TD_VC_100,
	 @VSFE_SELE       TD_VC_100,
         @VSST_CIER_CARG  TD_VC_001,
         @VNIM_PAGA_CARG  TD_NU_016_004,
         @VSST_CIER_CHEQ  TD_VC_001,
         @VNIM_PAGA_CHEQ  TD_NU_016_004,
         @VSST_CIER_CAJA  TD_VC_001,
         @VNIM_PAGA_CAJA  TD_NU_016_004,
         @VSFE_VENC_0001  TD_VC_010,  
         @VSFE_VENC_0002  TD_VC_010,
         @VSST_CIER_ACAR  TD_VC_001,
	 @VSFE_CANC	  TD_VC_010,
         @VSST_CIER_ACHE  TD_VC_001,
         @VSST_CIER_ACAJ  TD_VC_001,
         @VSSE_ORDE       VARCHAR(200),
         @OSTI_DOCU       TD_VC_003, 
         @VNFA_ABON       TD_NU_016_004,
         @VSST_SIGN       TD_VC_001,
         @VNIM_PAGA_NCRE  TD_NU_016_004,
         @VSST_CIER_NCPR  TD_VC_001,
  @VNIM_PAGA_NCFA  TD_NU_016_004,
         @CNIM_PAGA       TD_NU_016_004,
	 @VNIM_DETA_AUXI  TD_NU_016_004,
         @VNIM_AUXI_DETA  TD_NU_016_004,
         @CSCO_MONE_DEFA  TD_VC_003,
         @CSCO_MONE_EXTR  TD_VC_003,
	 @CSCO_TIPO_OPER  TD_VC_003,
	 @VNIM_PAGA_RENO  TD_NU_016_004,
	 @VNIM_PAGA_CANJ  TD_NU_016_004,
	 @VNIM_PAGA_TOTA  TD_NU_016_004,
	 @VSST_CIER_ANTC  TD_VC_001,
         @VNIM_PAGA_ANTC  TD_NU_016_004


Select  @VSCA_EMPR = '', 
        @VSCA_CLIE = '',
  	@VSCA_TIDO = '',
	@VSCA_MONE = '',
	@VSCA_TIPO_OPER = ''
     If @ISCO_EMPR is Not Null
       Select @VSCA_EMPR = 't1.CO_EMPR =  "'+@ISCO_EMPR+'" And  '
    If @ISCO_CLIE is Not Null
       Select @VSCA_CLIE = 't1.CO_CLIE =  "' + @ISCO_CLIE+ '" And '
    If @ISDE_CODI is Not Null
       Select @VSCA_TIDO = ' T1.CO_TIPO_DOCU IN (' + @ISDE_CODI+ ') And '
    If @ISCO_MONE is Not Null
       Select @VSCA_MONE = 't1.CO_MONE = "' + @ISCO_MONE+ '"  And '  
    If @ISCO_TIPO_OPER is Not Null 
       Select @VSCA_TIPO_OPER = ' T1.CO_TIPO_OPER = "' + @ISCO_TIPO_OPER + '"  And  '   

    If @ISSE_ORDE = '1'
       Select @VSSE_ORDE = ' Where T1.CO_EMPR = T2.CO_EMPR And T1.CO_EMPR = T3.CO_EMPR  Order by T1.CO_EMPR, T1.FE_VENC, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE '
    If @ISSE_ORDE = '2'
       Select @VSSE_ORDE = 'Where T1.CO_EMPR=T2.CO_EMPR And T1.CO_EMPR = T3.CO_EMPR  Order By T1.CO_EMPR,T1.CO_CLIE,T1.FE_VENC,T1.CO_TIPO_DOCU,T1.NU_DOCU_CLIE'       
    If @ISSE_ORDE = '3'
       Select @VSSE_ORDE = 'Where T1.CO_EMPR=T2.CO_EMPR And T1.CO_EMPR = T3.CO_EMPR  Order By T1.CO_EMPR,T1.NO_CORT_CLIE,T1.FE_VENC,T1.CO_TIPO_DOCU,T1.NU_DOCU_CLIE'       


    Select @VSFE_VENC_0001 = convert (varchar(10), @IDFE_VENC_0001,103)
    Select @VSFE_VENC_0002 = convert (varchar(10), @IDFE_VENC_0002,103)
    Select @VSFE_CANC = convert (varchar(10), @IDFE_CANC,103)

    /*-----------------------   CURSOR   PARA LOS DOCUMENTOS ---------------------------------*/      
    /*----------------- TABLA : TMDOCU_CLIE ----------------------*/      

    -- ANTICIPOS SIN APLICACION
INSERT INTO #TWREPO_CLIE
(CO_EMPR, FE_EMIS, FE_VENC, CO_TIPO_DOCU, NU_DOCU_CLIE, 
  CO_CLIE, NO_CORT_CLIE, DE_OBSE, CO_MONE, NU_ANTI, 
  IM_DETA, T1.CO_TIPO_OPER)
Select T2.CO_EMPR, T2.FE_OPER, T2.FE_OPER, 'ANT', T2.NU_COMP_BANC, 
T2.CO_ENTI, T7.NO_AUXI,
T2.DE_OBSE, T3.CO_MONE, DATEDIFF(DAY, T2.FE_OPER, @IDFE_VENC_0002 ),
-1*T2.IM_MOVI, T2.CO_TIPO_OPER
From  TCMOVI_BANC T2, TMCNTA_BANC T3,  TTTIPO_OPER T5, TMAUXI_EMPR T7
Where  ((@ISCO_EMPR IS NOT NULL AND T2.CO_EMPR = @ISCO_EMPR) OR @ISCO_EMPR IS NULL)
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T2.CO_ENTI) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T3.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T2.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE, T4.TI_CLIE)>0 
AND PatIndex('%ANT%', @ISDE_CODI) > 0
 
And    T2.TI_MOVI_BANC = 'I' 
And    T2.TI_ENTI = 'C'
And    T2.FE_OPER  <= @IDFE_VENC_0002 
And    T2.TI_SITU = 'ACT' 

And    T2.CO_EMPR = T3.CO_EMPR  
And    T2.CO_BANC = T3.CO_BANC  
And    T2.NU_CNTA_BANC  = T3.NU_CNTA_BANC

--AND	 T2.CO_EMPR = T4.CO_EMPR
--AND 	 T2.CO_ENTI = T4.CO_CLIE 

AND	 T2.CO_EMPR = T5.CO_EMPR
AND 	 T2.CO_TIPO_OPER = T5.CO_TIPO_OPER
AND    T5.ST_AUXI_0002 = 'S'

AND   T2.CO_EMPR = T7.CO_EMPR
And    T2.TI_ENTI = T7.TI_AUXI_EMPR
And    T2.CO_ENTI = T7.CO_AUXI_EMPR

AND	 NOT EXISTS ( SELECT T6.CO_EMPR
			FROM TCAMAR_ANTC T6
			WHERE T6.TI_SITU = 'ACT'
			--AND T6.FE_AMAR <= @IDFE_VENC_0002 
			AND	 T2.CO_EMPR = T6.CO_EMPR
			And    T2.CO_BANC = T6.CO_BANC  
			And    T2.NU_CNTA_BANC  = T6.NU_CNTA_BANC
			And    T2.AA_BNCO = T6.AA_BNCO
			And    T2.MM_BNCO = T6.MM_BNCO
			And    T2.NU_COMP_BANC = T6.NU_COMP_BANC )  

INSERT INTO #TWREPO_CLIE
(CO_EMPR, FE_EMIS, FE_VENC, CO_TIPO_DOCU, NU_DOCU_CLIE, 
  CO_CLIE, NO_CORT_CLIE, DE_OBSE, CO_MONE, NU_ANTI, 
  IM_DETA, T1.CO_TIPO_OPER)
Select T2.CO_EMPR, T2.FE_OPER, T2.FE_OPER, 'ANT', T2.NU_COMP_CAJA, 
T2.CO_ENTI, T7.NO_AUXI,
T2.DE_OBSE, T3.CO_MONE, DATEDIFF(DAY, T2.FE_OPER, @IDFE_VENC_0002 ),
-1*T2.IM_MOVI, T2.CO_TIPO_OPER

From  TCMOVI_CAJA T2, TMCAJA T3,  TTTIPO_OPER T5, TMAUXI_EMPR T7
Where  ((@ISCO_EMPR IS NOT NULL AND T2.CO_EMPR = @ISCO_EMPR) OR @ISCO_EMPR IS NULL)
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T2.CO_ENTI) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T3.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T2.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE, T4.TI_CLIE)>0 
AND PatIndex('%ANT%', @ISDE_CODI) > 0
 
And    T2.TI_MOVI = 'I' 
And    T2.TI_ENTI = 'C'
And    T2.FE_OPER  <= @IDFE_VENC_0002 
And    T2.TI_SITU = 'ACT' 

And    T2.CO_EMPR = T3.CO_EMPR  
And    T2.CO_CAJA = T3.CO_CAJA

--AND	 T2.CO_EMPR = T4.CO_EMPR
--AND 	 T2.CO_ENTI = T4.CO_CLIE 

AND	 T2.CO_EMPR = T5.CO_EMPR
AND 	 T2.CO_TIPO_OPER = T5.CO_TIPO_OPER
AND    	 T5.ST_AUXI_0002 = 'S'

AND   T2.CO_EMPR = T7.CO_EMPR
And    T2.TI_ENTI = T7.TI_AUXI_EMPR
And    T2.CO_ENTI = T7.CO_AUXI_EMPR

AND	 NOT EXISTS ( SELECT T6.CO_EMPR
			FROM TCAMAR_ANTC T6
			WHERE T6.TI_SITU = 'ACT'
			--AND T6.FE_AMAR <= @IDFE_VENC_0002 
			AND	 T2.CO_EMPR = T6.CO_EMPR
			And    T2.CO_CAJA = T6.CO_CAJA
			And    T2.AA_CAJA = T6.AA_CAJA
			And    T2.MM_CAJA = T6.MM_CAJA
			And    T2.NU_COMP_CAJA = T6.NU_COMP_CAJA )  

-- ANTICIPOS CON APLICACION
INSERT INTO #TWREPO_CLIE
(CO_EMPR, FE_EMIS, FE_VENC, CO_TIPO_DOCU, NU_DOCU_CLIE, 
  CO_CLIE, NO_CORT_CLIE, DE_OBSE, CO_MONE, NU_ANTI, 
  IM_DETA, T1.CO_TIPO_OPER)

Select T2.CO_EMPR, MAX(T2.FE_OPER), MAX(T2.FE_OPER), MAX('ANT') 'T2.CO_TIPO_DOCU' , MAX(T2.NU_COMP_BANC), 
T2.CO_ENTI, MAX(T8.NO_AUXI),
MAX(T2.DE_OBSE), MAX(T3.CO_MONE), MAX(DATEDIFF(DAY, T2.FE_OPER, @IDFE_VENC_0002 )),
-1*(MAX(T2.IM_MOVI) - 
ISNULL( SUM( T7.IM_DETA_NEGA ), 0)), MAX(T2.CO_TIPO_OPER)

From  TCMOVI_BANC T2
INNER JOIN TMCNTA_BANC T3
      ON  T2.CO_EMPR = T3.CO_EMPR  
      And T2.CO_BANC = T3.CO_BANC  
      And T2.NU_CNTA_BANC  = T3.NU_CNTA_BANC
INNER JOIN TTTIPO_OPER T5
      ON  T2.CO_EMPR = T5.CO_EMPR
      AND T2.CO_TIPO_OPER = T5.CO_TIPO_OPER
      AND T5.ST_AUXI_0002 = 'S'
INNER JOIN TCAMAR_ANTC T6
      ON  T2.CO_EMPR = T6.CO_EMPR
      And T2.CO_BANC = T6.CO_BANC  
      And T2.NU_CNTA_BANC  = T6.NU_CNTA_BANC
      And T2.AA_BNCO = T6.AA_BNCO
      And T2.MM_BNCO = T6.MM_BNCO
      And T2.NU_COMP_BANC = T6.NU_COMP_BANC
INNER JOIN TMAUXI_EMPR T8
      ON T2.CO_EMPR = T8.CO_EMPR
      And  T2.TI_ENTI = T8.TI_AUXI_EMPR
      And  T2.CO_ENTI = T8.CO_AUXI_EMPR
LEFT OUTER JOIN TDAMAR_ANTC T7
      ON  T6.CO_EMPR = T7.CO_EMPR 
      AND T6.NU_AMAR = T7.NU_AMAR
Where ((@ISCO_EMPR IS NOT NULL AND T2.CO_EMPR = @ISCO_EMPR) OR @ISCO_EMPR IS NULL)
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T2.CO_ENTI) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T3.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T2.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE, T4.TI_CLIE)>0 
AND PatIndex('%ANT%', @ISDE_CODI) > 0  
And  T2.TI_MOVI_BANC = 'I' 
And  T2.TI_ENTI = 'C'
And  T7.FE_AMAR_DETA  <= @IDFE_CANC
And  T6.FE_OPER <= @IDFE_VENC_0002
And  T2.TI_SITU = 'ACT' 
AND	 T6.TI_SITU = 'ACT'
AND	 EXISTS ( Select T6.CO_EMPR
			  From TCAMAR_ANTC T6
			  Where T6.TI_SITU = 'ACT'
			  AND T2.CO_EMPR = T6.CO_EMPR
			  And T2.CO_BANC = T6.CO_BANC  
			  And T2.NU_CNTA_BANC  = T6.NU_CNTA_BANC
			  And T2.AA_BNCO = T6.AA_BNCO
			  And T2.MM_BNCO = T6.MM_BNCO
			  And T2.NU_COMP_BANC = T6.NU_COMP_BANC )
GROUP BY T2.CO_EMPR, T2.CO_TIPO_DOCU, T2.NU_DOCU_BANC, T2.CO_ENTI, T3.CO_MONE, 
	   T2.CO_BANC, T2.NU_CNTA_BANC, T2.NU_COMP_BANC, T2.FE_OPER
HAVING ( -1*(MAX(T2.IM_MOVI) - ISNULL( SUM( T7.IM_DETA_NEGA ), 0)) ) != 0

INSERT INTO #TWREPO_CLIE
(CO_EMPR, FE_EMIS, FE_VENC, CO_TIPO_DOCU, NU_DOCU_CLIE, 
  CO_CLIE, NO_CORT_CLIE, DE_OBSE, CO_MONE, NU_ANTI, 
  IM_DETA, T1.CO_TIPO_OPER)
Select T2.CO_EMPR, MAX(T2.FE_OPER), MAX(T2.FE_OPER), MAX('ANT') 'T2.CO_TIPO_DOCU', T2.NU_COMP_CAJA, 
T2.CO_ENTI, MAX(T8.NO_AUXI),
MAX(T2.DE_OBSE), MAX(T3.CO_MONE), MAX(DATEDIFF(DAY, T2.FE_OPER, @IDFE_VENC_0002 )),
-1*(MAX(T2.IM_MOVI) - 
ISNULL( SUM( T7.IM_DETA_NEGA ), 0)), MAX(T2.CO_TIPO_OPER)
From  TCMOVI_CAJA T2
INNER JOIN TMCAJA T3
      ON  T2.CO_EMPR = T3.CO_EMPR  
      And T2.CO_CAJA = T3.CO_CAJA
INNER JOIN TTTIPO_OPER T5
      ON  T2.CO_EMPR = T5.CO_EMPR
      AND T2.CO_TIPO_OPER = T5.CO_TIPO_OPER
      AND T5.ST_AUXI_0002 = 'S'
INNER JOIN TCAMAR_ANTC T6
      ON  T2.CO_EMPR = T6.CO_EMPR
      And T2.CO_CAJA = T6.CO_CAJA
      And T2.AA_CAJA = T6.AA_CAJA
      And T2.MM_CAJA = T6.MM_CAJA
      And T2.NU_COMP_CAJA = T6.NU_COMP_CAJA
LEFT OUTER JOIN TDAMAR_ANTC T7
      ON  T6.CO_EMPR = T7.CO_EMPR 
      AND T6.NU_AMAR = T7.NU_AMAR
INNER JOIN TMAUXI_EMPR T8
      ON  T2.CO_EMPR = T8.CO_EMPR
      And T2.TI_ENTI = T8.TI_AUXI_EMPR
      And T2.CO_ENTI = T8.CO_AUXI_EMPR
Where ((@ISCO_EMPR IS NOT NULL AND T2.CO_EMPR = @ISCO_EMPR) OR @ISCO_EMPR IS NULL)
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T2.CO_ENTI) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T3.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T2.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE, T4.TI_CLIE)>0 
AND PatIndex('%ANT%', @ISDE_CODI) > 0 
And  T2.TI_MOVI = 'I' 
And  T2.TI_ENTI = 'C'
And  T7.FE_AMAR_DETA  <= @IDFE_CANC
And  T6.FE_OPER <= @IDFE_VENC_0002
And  T2.TI_SITU = 'ACT' 
AND	 T6.TI_SITU = 'ACT'
AND	 EXISTS ( SELECT T6.CO_EMPR
			FROM TCAMAR_ANTC T6
			WHERE T6.TI_SITU = 'ACT'
			And	 T2.CO_EMPR = T6.CO_EMPR
			And  T2.CO_CAJA = T6.CO_CAJA
			And  T2.AA_CAJA = T6.AA_CAJA
			And  T2.MM_CAJA = T6.MM_CAJA
			And  T2.NU_COMP_CAJA = T6.NU_COMP_CAJA )  
GROUP BY T2.CO_EMPR, T2.CO_TIPO_DOCU, T2.NU_DOCU, T2.CO_ENTI, T3.CO_MONE, T2.CO_CAJA, T2.NU_COMP_CAJA,  T2.FE_OPER
HAVING ( -1*(MAX(T2.IM_MOVI) - ISNULL( SUM( T7.IM_DETA_NEGA ), 0)) ) != 0

    EXECUTE ('Declare	CU_TMDOCU_CLIE_Q01_1 Cursor
    For	
    Select t1.CO_EMPR, t1.FE_EMIS , t1.FE_VENC , t1.CO_TIPO_DOCU , t1.NU_DOCU_CLIE , t1.CO_CLIE, 
           t1.DE_OBSE, t1.IM_TOTA , t1.CO_MONE , t1.IM_PAGA, T2.CO_MONE_DEFA, T2.CO_MONE_EXTR, t1.CO_TIPO_OPER          
    From  TMDOCU_CLIE t1, TMPARA_TESO T2
    Where '+ @VSCA_EMPR+@VSCA_CLIE+@VSCA_TIDO+@VSCA_MONE+@VSCA_TIPO_OPER+
    ' t1.FE_VENC >= Convert(Datetime, "' + @VSFE_VENC_0001 + '" ,103)
    And t1.FE_VENC <= Convert(Datetime, "'+ @VSFE_VENC_0002 + '" ,103)
    And t1.CO_ESTA_DOCU != "ANU" 
    And t1.CO_EMPR = t2.CO_EMPR ')

    Open CU_TMDOCU_CLIE_Q01_1
    Fetch  CU_TMDOCU_CLIE_Q01_1 INTO  @CSCO_EMPR, @CDFE_EMIS, @CDFE_VENC, @CSCO_TIPO_DOCU, 
    @CSNU_DOCU_CLIE, @CSCO_CLIE, @CSDE_OBSE, @CNIM_TOTA, @CSCO_MONE, @CNIM_PAGA,
    @CSCO_MONE_DEFA, @CSCO_MONE_EXTR, @CSCO_TIPO_OPER

    Select @VNFE_0001  = @@FETCH_STATUS

    While (@VNFE_0001 = 0)
	Begin
	  If (@VNFE_0001 < 0)
     	     Begin
               RAISERROR 20001 'FIN DE ARCHIVO'
 	       Close CU_TMDOCU_CLIE_Q01_1
	       Deallocate CU_TMDOCU_CLIE_Q01_1
	       Return
             End		

	     Select @VSST_SIGN = ST_SIGN 
             FROM TTDOCU_CNTB
	     Where  TI_DOCU = @CSCO_TIPO_DOCU

             IF @VSST_SIGN  = 'S'
	        SELECT @VNFA_ABON = 1
	     ELSE 
	        SELECT @VNFA_ABON = -1

	     SELECT @VSNO_CORT_CLIE = NO_AUXI
             FROM   TMAUXI_EMPR 
             WHERE  CO_EMPR = @CSCO_EMPR
	     	 And    TI_AUXI_EMPR = 'C' 
             And    CO_AUXI_EMPR = @CSCO_CLIE 

	     Select @VNIM_PAGA_CARG = 0, @VSST_CIER_CARG = NULL,
		      @VNIM_PAGA_CANJ = 0, @VNIM_PAGA_RENO = 0 , @VNIM_PAGA_ANTC = 0

	     /* SI TIENE PAGOS POR APLICACION DE ANTICIPOS */

             Select @VSST_CIER_ANTC = ISNULL(Max(T1.ST_CIER_DOCU),'N'),
                    @VNIM_PAGA_ANTC = Isnull(Sum(Isnull(T1.IM_CONV_DOCU,0)),0)
             From   TDAMAR_ANTC T1 , TCAMAR_ANTC T2
             Where  T1.CO_EMPR = @CSCO_EMPR  
             And    T1.CO_ENTI = @CSCO_CLIE 
             And    T1.TI_DOCU_ENTI = @CSCO_TIPO_DOCU
             And    T1.NU_DOCU_ENTI = @CSNU_DOCU_CLIE
             And    T1.FE_AMAR_DETA <= @IDFE_CANC
             And    T2.TI_SITU != 'ANU' 
             And    T1.CO_EMPR = T2.CO_EMPR  
     	       And    T1.NU_AMAR = T2.NU_AMAR

	        If  @VSST_CIER_ANTC is null
                  Select @VSST_CIER_ANTC = 'N'

	    /* SI TIENE PAGOS EN BANCOS  (DOCUMENTOS DIFERENTES A CHEQUES) */

         Select @VSST_CIER_CARG = ISNULL(Max(T1.ST_CIER_DOCU),'N'),
                @VNIM_PAGA_CARG = @VNIM_PAGA_CARG + Isnull(Sum(Isnull(T1.IM_CONV_DOCU,0)),0)
             From   TDMOVI_BANC T1, TCMOVI_BANC T2
             Where  T1.CO_EMPR = @CSCO_EMPR  
             And    T1.TI_MOVI_BANC = 'I' 
             And    T1.CO_ENTI = @CSCO_CLIE 
             And    T1.TI_DOCU_ENTI = @CSCO_TIPO_DOCU
             And    T1.NU_DOCU_ENTI = @CSNU_DOCU_CLIE
             And    T2.FE_OPER  <= @IDFE_CANC
             And    T2.TI_SITU = 'ACT' 
             And    T1.CO_EMPR = T2.CO_EMPR  
             And    T1.CO_UNID_CONC = T2.CO_UNID_CONC
             And    T1.CO_BANC = T2.CO_BANC  
             And    T1.NU_CNTA_BANC = T2.NU_CNTA_BANC  
             And    T1.AA_BNCO = T2.AA_BNCO
             And    T1.MM_BNCO = T2.MM_BNCO 
             And    T1.TI_MOVI_BANC  = T2.TI_MOVI_BANC 
             And    T1.NU_COMP_BANC = T2.NU_COMP_BANC  
             Group By T2.CO_ENTI, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI

	 If @VSST_CIER_CARG is null
              Select @VSST_CIER_CARG = 'N'

	 If (@CNIM_TOTA > (@VNIM_PAGA_CARG+@VNIM_PAGA_ANTC) ) and ( @VSST_CIER_CARG = 'N' AND @VSST_CIER_ANTC = 'N' )
              Begin
                /* SI TIENE PAGOS CON CAJA */
    
                Select @VNIM_PAGA_CAJA = 0, @VSST_CIER_CAJA = NULL

                Select @VSST_CIER_CAJA = ISNULL(Max(T1.ST_CIER_DOCU),'N'),
                       @VNIM_PAGA_CAJA = Isnull(Sum(Isnull(T1.IM_CONV_DOCU,0)),0)
                From   TDMOVI_CAJA T1, TCMOVI_CAJA T2
                Where  T1.CO_EMPR = @CSCO_EMPR  
                And    T1.TI_MOVI = 'I' 
                And    T1.CO_ENTI = @CSCO_CLIE 
                And    T1.TI_DOCU_ENTI = @CSCO_TIPO_DOCU
                And    T1.NU_DOCU_ENTI = @CSNU_DOCU_CLIE
                And    T2.FE_OPER  <= @IDFE_CANC
                And    T2.TI_SITU != 'ANU' 
                And    T1.CO_EMPR = T2.CO_EMPR  
                And    T1.CO_CAJA = T2.CO_CAJA
                And    T1.AA_CAJA = T2.AA_CAJA
                And    T1.MM_CAJA = T2.MM_CAJA 
                And    T1.TI_MOVI = T2.TI_MOVI
                And    T1.NU_COMP_CAJA = T2.NU_COMP_CAJA
                Group  By T2.CO_ENTI, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI 

                If @VSST_CIER_CAJA is null
                   Select @VSST_CIER_CAJA = 'N'             
 
                If (@CNIM_TOTA >  @VNIM_PAGA_CAJA ) and @VSST_CIER_CAJA = 'N'
                    Begin

		      -- Busco importes Canjeados
			Select @VNIM_PAGA_CANJ = ISNULL(SUM( ISNULL(T2.IM_CANJ_MDOC, 0)),0)
			From   TCCANJ_CLIE T1, TDCANJ_CLIE T2
                  	Where  T1.CO_EMPR =  @CSCO_EMPR
                  	AND    T1.FE_CANJ <= @IDFE_CANC
                  	AND    T1.TI_SITU != 'ANU'
                  	AND    T2.CO_TIPO_DOCU = @CSCO_TIPO_DOCU
                  	AND    T2.NU_DOCU_CLIE = @CSNU_DOCU_CLIE
			AND    T1.CO_EMPR = T2.CO_EMPR  
                        AND    T1.NU_CANJ = T2.NU_CANJ
			AND    T1.CO_CLIE = T2.CO_CLIE
	
		      -- NOTA DE CREDITO
			Exec SP_TTDOCU_CNTB_Q02 4, @OSTI_DOCU OUTPUT
	
			
                      If @CSCO_TIPO_DOCU = @OSTI_DOCU
           Begin                       Select @VNIM_PAGA_NCRE = 0, @VSST_CIER_NCPR = NULL

                           Select @VSST_CIER_NCPR = ISNULL(Max(T2.ST_CIER_DOCU),'N'), 
					@VNIM_PAGA_NCRE = SUM(( PATINDEX( T1.CO_MONE, T3.CO_MONE ) +
   				   PATINDEX( CONVERT(CHAR(1), PATINDEX( T1.CO_MONE, T3.CO_MONE ) ), '0')*
				   ( PATINDEX( @CSCO_MONE_EXTR, t1.CO_MONE )*T1.FA_TIPO_CAMB +
	  			   PATINDEX( @CSCO_MONE_DEFA, t1.CO_MONE )/T1.FA_TIPO_CAMB  ) )*ISNULL(T2.IM_COBR_ORIG,0))
                   	   From   TCAMAR_NCCL T1, TDAMAR_NCCL T2, TMDOCU_CLIE T3
                           Where  T1.CO_EMPR =  @CSCO_EMPR
                           AND    T1.FE_AMAR <= @IDFE_CANC
			         AND    T1.TI_SITU = 'ACT'
                           AND    T2.CO_TIDO_ORIG = @CSCO_TIPO_DOCU
                           AND    T2.NU_DOCU_ORIG = @CSNU_DOCU_CLIE
                           AND    T1.CO_EMPR = T2.CO_EMPR  
                           AND    T1.NU_AMAR = T2.NU_AMAR
                           AND    T2.CO_EMPR = T3.CO_EMPR
                           AND    T1.CO_CLIE = T3.CO_CLIE
                           AND    T2.CO_TIDO_ORIG = T3.CO_TIPO_DOCU
                           AND    T2.NU_DOCU_ORIG = T3.NU_DOCU_CLIE
                           Group By T1.CO_CLIE, T2.CO_TIDO_ORIG, T2.NU_DOCU_ORIG                                     

                           If @VSST_CIER_NCPR is null
		                  Select @VSST_CIER_NCPR = 'N'

                           IF @ISFE_SIST = 'S'
		              	Select @VNNU_ANTI = datediff(day ,@CDFE_VENC , GETDATE())     
                           Else
                             Select @VNNU_ANTI = datediff(day ,@CDFE_VENC , @IDFE_VENC_0002) 

       	                 Select @VNIM_AUXI =  ISNULL( @VNIM_PAGA_CAJA, 0) + 
					                    ISNULL( @VNIM_PAGA_CARG, 0) + 
                                          	  ISNULL( @VNIM_PAGA_CHEQ, 0) + 
                                                  ISNULL( @VNIM_PAGA_ANTC, 0) + 
                                   			  ISNULL( @VNIM_PAGA_NCRE, 0) 

    				Select @VNIM_DETA =  ( ISNULL( @CNIM_TOTA, 0 ) - ISNULL( @VNIM_AUXI, 0 )) * @VNFA_ABON                      
 
                           If (@CNIM_TOTA >  @VNIM_PAGA_NCRE ) and @VSST_CIER_NCPR = 'N'
                               Begin 
                                 IF @ISSE_DOCU = '1' OR 
			            ( @ISSE_DOCU = '2' AND  ISNULL( @VNIM_AUXI, 0 ) = 0 ) OR 
			            ( @ISSE_DOCU = '3' AND  ISNULL( @VNIM_AUXI, 0 ) > 0 )
				    Begin
				      -- Busco Importes renovados
			  		Select @VNIM_PAGA_RENO = ISNULL(SUM( ISNULL(T2.IM_RENO_MDOC, 0)),0)
			  		From   TCRENO_CLIE T1, TDRENO_CLIE T2
                  	  		Where  T1.CO_EMPR =  @CSCO_EMPR
                  	  		AND    T1.FE_RENO <= @IDFE_CANC
                  	  		AND    T1.TI_SITU != 'ANU'
                  	  		AND    T2.CO_TIPO_DOCU = @CSCO_TIPO_DOCU
                  	  		AND    T2.NU_DOCU_CLIE = @CSNU_DOCU_CLIE
			  			AND    T1.CO_EMPR = T2.CO_EMPR  
                          		AND    T1.NU_RENO = T2.NU_RENO
			  			AND    T1.CO_CLIE = T2.CO_CLIE
				
				    Select @VNIM_AUXI = ISNULL(@VNIM_AUXI,0) +  
						ISNULL( @VNIM_PAGA_CANJ, 0 ) + ISNULL( @VNIM_PAGA_RENO, 0 )

				    Select @VNIM_DETA =  ( ISNULL( @CNIM_TOTA, 0 ) - ISNULL( @VNIM_AUXI, 0 ) ) * @VNFA_ABON                      
			
				    IF @CNIM_TOTA > @VNIM_AUXI
			            Insert #TWREPO_CLIE ( CO_EMPR, FE_EMIS, FE_VENC, CO_TIPO_DOCU, 
			 	  	      NU_DOCU_CLIE, CO_CLIE, NO_CORT_CLIE, 
					      DE_OBSE, CO_MONE, NU_ANTI, IM_DETA, CO_TIPO_OPER )
                                    Values ( @CSCO_EMPR, @CDFE_EMIS, @CDFE_VENC, @CSCO_TIPO_DOCU, 

			            	@CSNU_DOCU_CLIE, @CSCO_CLIE, @VSNO_CORT_CLIE, 
				    		@CSDE_OBSE, @CSCO_MONE, @VNNU_ANTI, @VNIM_DETA, @CSCO_TIPO_OPER )

				    End                               
                               End 
    End  /* Fin NCR */
           Else
                      Begin 				
                           Select @VNIM_PAGA_NCFA = SUM(( PATINDEX( t1.CO_MONE, T3.CO_MONE ) +
					PATINDEX( CONVERT(CHAR(1), PATINDEX( t1.CO_MONE, T3.CO_MONE ) ), '0')*
					(  PATINDEX( @CSCO_MONE_EXTR, t1.CO_MONE )*T1.FA_TIPO_CAMB +
	  			   	PATINDEX( @CSCO_MONE_DEFA, t1.CO_MONE )/T1.FA_TIPO_CAMB  ) )*
					ISNULL(T2.IM_COBR_DEST,0)) 
                           From   TCAMAR_NCCL T1 , TDAMAR_NCCL T2, TMDOCU_CLIE T3
                           Where  T1.CO_EMPR =  @CSCO_EMPR
                           AND    T1.FE_AMAR <= @IDFE_CANC
			         AND    T1.TI_SITU = 'ACT'
                           AND    T2.CO_TIDO_DEST = @CSCO_TIPO_DOCU 
                           AND    T2.NU_DOCU_DEST = @CSNU_DOCU_CLIE
                           AND    T1.CO_EMPR = T2.CO_EMPR  
                           AND    T1.NU_AMAR = T2.NU_AMAR
                           AND    T2.CO_EMPR = T3.CO_EMPR
                           AND    T1.CO_CLIE = T3.CO_CLIE
                           AND    T2.CO_TIDO_DEST = T3.CO_TIPO_DOCU
                           AND    T2.NU_DOCU_DEST = T3.NU_DOCU_CLIE
                           Group By T1.CO_CLIE, T2.CO_TIDO_DEST, T2.NU_DOCU_DEST

                           IF @ISFE_SIST = 'S'
		              	Select @VNNU_ANTI = datediff(day ,@CDFE_VENC , GETDATE())     
                           Else
                             Select @VNNU_ANTI = datediff(day ,@CDFE_VENC , @IDFE_VENC_0002) 

                           Select @VNIM_DETA = 0, @VNIM_DETA_AUXI = 0, @VNIM_AUXI = 0

       	               Select @VNIM_AUXI =   ISNULL( @VNIM_PAGA_CAJA, 0) + 
			                ISNULL( @VNIM_PAGA_CARG, 0) + 
                                  ISNULL( @VNIM_PAGA_CHEQ, 0) +
                                  ISNULL( @VNIM_PAGA_ANTC, 0) + 
                                  ISNULL( @VNIM_PAGA_NCFA, 0)         
				                                                            
                         
                        IF @ISSE_DOCU = '1' OR 
                           ( @ISSE_DOCU = '2' AND  ISNULL( @VNIM_AUXI, 0 ) = 0 ) OR 
		        	   ( @ISSE_DOCU = '3' AND  ISNULL( @VNIM_AUXI, 0 ) > 0 )
				
				  Begin 

				  Select @VNIM_AUXI = ISNULL(@VNIM_AUXI,0) +  
					   ISNULL( @VNIM_PAGA_CANJ, 0 ) + ISNULL( @VNIM_PAGA_RENO, 0 )

				  Select @VNIM_DETA =   (ISNULL( @CNIM_TOTA, 0 ) - ISNULL( @VNIM_AUXI, 0 ))*@VNFA_ABON
				  
				  IF @CNIM_TOTA > @VNIM_AUXI

			          Insert #TWREPO_CLIE ( CO_EMPR, FE_EMIS, FE_VENC, CO_TIPO_DOCU, 
			           NU_DOCU_CLIE, CO_CLIE, NO_CORT_CLIE, 
			           DE_OBSE, CO_MONE, NU_ANTI, IM_DETA, CO_TIPO_OPER )
                            Values ( @CSCO_EMPR, @CDFE_EMIS, @CDFE_VENC, @CSCO_TIPO_DOCU, 
			           @CSNU_DOCU_CLIE, @CSCO_CLIE, @VSNO_CORT_CLIE, 
			           @CSDE_OBSE, @CSCO_MONE, @VNNU_ANTI, @VNIM_DETA, @CSCO_TIPO_OPER )
                           End   
                         End
                    End  /* Fin pago x caja */
             End /* Fin pago con cheques */

      Fetch  CU_TMDOCU_CLIE_Q01_1 INTO  @CSCO_EMPR, @CDFE_EMIS, @CDFE_VENC, @CSCO_TIPO_DOCU, 
      @CSNU_DOCU_CLIE,  @CSCO_CLIE, @CSDE_OBSE, @CNIM_TOTA, @CSCO_MONE, @CNIM_PAGA,
      @CSCO_MONE_DEFA, @CSCO_MONE_EXTR, @CSCO_TIPO_OPER

      Select @VNFE_0001 = @@FETCH_STATUS
  End

  Close CU_TMDOCU_CLIE_Q01_1
  Deallocate CU_TMDOCU_CLIE_Q01_1

/*-------------------------------   CURSOR   PARA  LETRAS  ---------------------------------*/      
/*-------------------------------   TABLA : TMLETR_CLIE ---------------------------------*/      

  Exec SP_TTDOCU_CNTB_Q02 6, @OSTI_DOCU OUTPUT 

  If PATINDEX('%'+@OSTI_DOCU+'%', @ISDE_CODI) > 0

     Begin
       Execute ( ' DECLARE CU_TMDOCU_CLIE_Q01_1 CURSOR 
       FOR	
       Select T1.CO_EMPR, T1.FE_EMIS, T1.FE_VENC, T1.NU_LETR_CLIE, T1.CO_CLIE, 
              T1.IM_TOTA, T1.CO_MONE, T2.CO_MONE_DEFA, T2.CO_MONE_EXTR, t1.CO_TIPO_OPER
       From   TMLETR_CLIE T1, TMPARA_TESO T2
       Where '
	+ @VSCA_EMPR+@VSCA_CLIE+@VSCA_MONE+@VSCA_TIPO_OPER+
	' T1.FE_VENC >= Convert(Datetime, "' + @VSFE_VENC_0001 + '" ,103)
       And T1.FE_VENC <= Convert(Datetime, "'+ @VSFE_VENC_0002 + '" ,103)
       And T1.CO_ESTA_DOCU != "ANU" 
       And T1.CO_EMPR = T2.CO_EMPR ') 

       Open CU_TMDOCU_CLIE_Q01_1
       Fetch  CU_TMDOCU_CLIE_Q01_1 INTO  @CSCO_EMPR, @CDFE_EMIS, @CDFE_VENC, 
       @CSNU_LETR_CLIE,  @CSCO_CLIE, @CNIM_TOTA, @CSCO_MONE, @CSCO_MONE_DEFA, @CSCO_MONE_EXTR, @CSCO_TIPO_OPER

       Select @VNFE_0001 = @@FETCH_STATUS
       While (@VNFE_0001 = 0)
         Begin
           If (@VNFE_0001 < 0)
     	        Begin
                RAISERROR 20001 'FIN DE ARCHIVO'
 	          Close CU_TMDOCU_CLIE_Q01_1
	          Deallocate CU_TMDOCU_CLIE_Q01_1
	          Return
              End		
       
	     SELECT @VSNO_CORT_CLIE = NO_AUXI
           FROM   TMAUXI_EMPR
           WHERE  CO_EMPR = @CSCO_EMPR 
	     AND    TI_AUXI_EMPR = 'C'
           And    CO_AUXI_EMPR = @CSCO_CLIE 
  

	     Select @VNIM_PAGA_CARG = 0, @VSST_CIER_CARG = NULL,
		      @VNIM_PAGA_CANJ = 0, @VNIM_PAGA_RENO = 0 , @VNIM_PAGA_ANTC = 0

             Select @VSST_CIER_ANTC = ISNULL(Max(T1.ST_CIER_DOCU),'N'),
                    @VNIM_PAGA_ANTC = Isnull(Sum(Isnull(T1.IM_CONV_DOCU,0)),0)
             From   TDAMAR_ANTC T1  , TCAMAR_ANTC T2
             Where  T1.CO_EMPR = @CSCO_EMPR  
             And    T1.CO_ENTI = @CSCO_CLIE 
             And    T1.TI_DOCU_ENTI = @OSTI_DOCU
             And    T1.NU_DOCU_ENTI = @CSNU_LETR_CLIE
             And    T1.FE_AMAR_DETA <= @IDFE_CANC
             And    T2.TI_SITU != 'ANU' 
             And    T1.CO_EMPR = T2.CO_EMPR  
             And    T1.NU_AMAR = T2.NU_AMAR


         If @VSST_CIER_ANTC is null
            Select @VSST_CIER_ANTC = 'N'

           /* SI TIENE PAGOS EN BANCOS  (DOCUMENTOS DIFERENTES A CHEQUES) */

           Select @VSST_CIER_CARG = ISNULL(Max(T1.ST_CIER_DOCU),'N'),
                  @VNIM_PAGA_CARG = Isnull(Sum(Isnull(T1.IM_CONV_DOCU,0)),0)
           From   TDMOVI_BANC T1, TCMOVI_BANC T2
	   Where  T1.CO_EMPR = @CSCO_EMPR  
           And    T1.TI_MOVI_BANC = 'I' 
           And    T1.CO_ENTI = @CSCO_CLIE 
           And    T1.TI_DOCU_ENTI = @OSTI_DOCU
           And    T1.NU_DOCU_ENTI = @CSNU_LETR_CLIE
           And    T2.FE_OPER  <= @IDFE_CANC
           And    T2.TI_SITU = 'ACT' 
           And    T1.CO_EMPR = T2.CO_EMPR  
           And    T1.CO_UNID_CONC = T2.CO_UNID_CONC
           And    T1.CO_BANC = T2.CO_BANC  
           And    T1.NU_CNTA_BANC  = T2.NU_CNTA_BANC  
           And    T1.AA_BNCO = T2.AA_BNCO
           And    T1.MM_BNCO = T2.MM_BNCO 
           And    T1.TI_MOVI_BANC  = T2.TI_MOVI_BANC 
           And    T1.NU_COMP_BANC = T2.NU_COMP_BANC  
           Group By T2.CO_ENTI, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI

           If @VSST_CIER_CARG is null
              Select @VSST_CIER_CARG = 'N'


	   If (@CNIM_TOTA >  (@VNIM_PAGA_CARG+@VNIM_PAGA_ANTC) ) and ( @VSST_CIER_CARG = 'N' AND @VSST_CIER_ANTC = 'N' )

              Begin
               Begin
                      /* SI TIENE PAGOS CON CAJA */
     
                      Select @VNIM_PAGA_CAJA = 0, @VSST_CIER_CAJA = NULL

                      Select @VSST_CIER_CAJA = ISNULL(Max(T1.ST_CIER_DOCU),'N'),
                             @VNIM_PAGA_CAJA = Isnull(Sum(Isnull(T1.IM_CONV_DOCU,0)),0)
                      From   TDMOVI_CAJA T1, TCMOVI_CAJA T2
                      Where  T1.CO_EMPR = @CSCO_EMPR  
                      And    T1.TI_MOVI = 'I' 
                      And    T1.CO_ENTI = @CSCO_CLIE 
                      And    T1.TI_DOCU_ENTI = @OSTI_DOCU
                      And    T1.NU_DOCU_ENTI = @CSNU_LETR_CLIE
                      And    T2.FE_OPER  <= @IDFE_CANC
                      And    T2.TI_SITU = 'ACT' 
                      And    T1.CO_EMPR = T2.CO_EMPR  
                  And    T1.CO_CAJA = T2.CO_CAJA
            And    T1.AA_CAJA = T2.AA_CAJA
                      And    T1.MM_CAJA = T2.MM_CAJA 
                      And    T1.TI_MOVI = T2.TI_MOVI
                      And    T1.NU_COMP_CAJA = T2.NU_COMP_CAJA
                      Group  By T2.CO_ENTI, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI 

		      IF @ISFE_SIST = 'S'
                      	Select @VNNU_ANTI = datediff(day ,@CDFE_VENC , GETDATE())  
		      ELSE
			Select @VNNU_ANTI = datediff(day ,@CDFE_VENC ,@IDFE_VENC_0002)

		      Select @VNIM_AUXI = ISNULL(@VNIM_PAGA_CAJA, 0) + 
					  	  ISNULL(@VNIM_PAGA_CARG, 0) + 
	                                ISNULL( @VNIM_PAGA_ANTC, 0) + 
                                      ISNULL(@VNIM_PAGA_CHEQ, 0)

                      If @VSST_CIER_CAJA is null
                         Select @VSST_CIER_CAJA = 'N'
                      
                      If (@CNIM_TOTA >  @VNIM_PAGA_CAJA ) and @VSST_CIER_CAJA = 'N'
                          Begin
				
			    IF @ISSE_DOCU = '1' OR 
			       ( @ISSE_DOCU = '2' AND  ISNULL( @VNIM_AUXI, 0)= 0) OR 
			       ( @ISSE_DOCU = '3' AND  ISNULL( @VNIM_AUXI, 0)> 0)
				BEGIN 	
				-- Busco Importes renovados
			  	Select @VNIM_PAGA_RENO = isnull(SUM( ISNULL(T2.IM_RENO_MDOC, 0)),0)
			  	From   TCRENO_CLIE T1, TDRENO_CLIE T2
                  	  	Where  T1.CO_EMPR =  @CSCO_EMPR
                  	  	AND    T1.FE_RENO <= @IDFE_CANC
                  	  	AND    T1.TI_SITU != 'ANU'
                  	  	AND    T2.CO_TIPO_DOCU = @OSTI_DOCU
                  	  	AND    T2.NU_DOCU_CLIE = @CSNU_LETR_CLIE
			  		AND    T1.CO_EMPR = T2.CO_EMPR  
                          	AND    T1.NU_RENO = T2.NU_RENO
			  		AND    T1.CO_CLIE = T2.CO_CLIE
				
				-- Busco importes Canjeados
				Select @VNIM_PAGA_CANJ = ISNULL(SUM( ISNULL(T2.IM_CANJ_MDOC, 0)),0)
				From   TCCANJ_CLIE T1, TDCANJ_CLIE T2
                  		Where  T1.CO_EMPR =  @CSCO_EMPR
                  		AND    T1.FE_CANJ <= @IDFE_CANC
                  		AND    T1.TI_SITU != 'ANU'
                  		AND    T2.CO_TIPO_DOCU = @OSTI_DOCU
                  		AND    T2.NU_DOCU_CLIE = @CSNU_LETR_CLIE	
					AND    T1.CO_EMPR = T2.CO_EMPR  
        	                	AND    T1.NU_CANJ = T2.NU_CANJ
					AND    T1.CO_CLIE = T2.CO_CLIE

				Select @VNIM_AUXI = ISNULL(@VNIM_AUXI,0) +  
						ISNULL( @VNIM_PAGA_CANJ, 0 ) + ISNULL( @VNIM_PAGA_RENO, 0 )

				Select @VNIM_DETA =   ISNULL( @CNIM_TOTA, 0 ) - ISNULL( @VNIM_AUXI, 0 )
		 
				IF @CNIM_TOTA > @VNIM_AUXI

                                Insert #TWREPO_CLIE ( CO_EMPR, FE_EMIS, FE_VENC, CO_TIPO_DOCU, 
						      NU_DOCU_CLIE, CO_CLIE, NO_CORT_CLIE, 
						      DE_OBSE, CO_MONE, NU_ANTI, IM_DETA, CO_TIPO_OPER )
                                Values (@CSCO_EMPR, @CDFE_EMIS, @CDFE_VENC, @OSTI_DOCU, 
					@CSNU_LETR_CLIE, @CSCO_CLIE, @VSNO_CORT_CLIE, 
					NULL, @CSCO_MONE, @VNNU_ANTI, @VNIM_DETA, @CSCO_TIPO_OPER)
				END
                          End
 
                  End
             End

           Fetch  CU_TMDOCU_CLIE_Q01_1 INTO  @CSCO_EMPR, @CDFE_EMIS, @CDFE_VENC, 
           @CSNU_LETR_CLIE,  @CSCO_CLIE, @CNIM_TOTA, @CSCO_MONE, @CSCO_MONE_DEFA, @CSCO_MONE_EXTR, @CSCO_TIPO_OPER

           Select @VNFE_0001 = @@FETCH_STATUS
       End

       Close CU_TMDOCU_CLIE_Q01_1
       Deallocate CU_TMDOCU_CLIE_Q01_1  
  End  

  Execute ('SELECT T1.CO_EMPR, T2.DE_NOMB, T1.FE_EMIS, T1.FE_VENC, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, 
  T1.CO_CLIE, T1.NO_CORT_CLIE, T1.DE_OBSE, T1.CO_MONE, T1.NU_ANTI, 
  Patindex("0", Convert(varchar(1),patindex (T1.CO_MONE, T3.CO_MONE_EXTR)))*IM_DETA, 
  Patindex(T1.CO_MONE, T3.CO_MONE_EXTR )*T1.IM_DETA, T1.CO_TIPO_OPER
  FROM #TWREPO_CLIE T1, TMEMPR T2, TMPARA_TESO T3 ' + @VSSE_ORDE ) 

RETURN


GO
